package hypeerweb;

public interface IHyPeerWebObserver
{
	/**
	 *
	 * @param web
	 * @param newNode
	 */
	void nodeAddedToHyPeerWeb(HyPeerWeb web, Node newNode);
	/**
	 *
	 * @param web
	 * @param deadNode
	 */
	void nodeRemovedFromHyPeerWeb(HyPeerWeb web, Node deadNode);
	
	/**
	 *
	 */
	void clearHypeerweb();

	/**
	 *
	 * @return
	 */
	Node findAnyNode();
	
	/**
	 *
	 * @param dyingSegment
	 * @param replacementSegment
	 */
	void segmentDisconnect(HyPeerWeb dyingSegment, HyPeerWeb replacementSegment);
	
	/**
	 * 
	 */
	void hibernateHyPeerWeb();
}
